#include <iostream>
#include <string>

class EntityVirtual
{
public:
	virtual std::string GetName()
	{
		return "EntityVirtual";
	}
};

class PlayerOveride : public EntityVirtual
{
private:
	std::string m_Name;
public :
	PlayerOveride(const std::string& name) : m_Name(name)
	{}
	std::string GetName() override
	{
		return m_Name;
	}
};

void PrintName(EntityVirtual* entityVirtual)
{
	std::cout << entityVirtual->GetName() << std::endl;
}


//int main()
//{
//	EntityVirtual* e = new EntityVirtual();
//	PrintName(e);
//
//	PlayerOveride* p = new PlayerOveride("sass");
//	PrintName(p);
//
//	std::cin.get();
//}